Image processing may be performed to support a variety of different functionality. One example of such functionality is texture modeling, which may be utilized to locate patterns of texture in image data. For example, an image of a brick wall may contain repeating patterns of bricks, an image of a modern skyscraper may include repeating patterns of windows, and so on. A model may thus be generated to describe these patterns of texture within the image.
Conventional techniques to perform texture modeling, however, could fail in certain instances. Such instances include perspective distortion, rotation, skewing, resizing, and so forth. For example, an image of the brick wall may be taken at an angle such that the bricks in the wall get progressively smaller in the image. Further, multiple brick walls may be contained in the image, each aligned along a different plane. Conventional techniques used to model such instances could fail to address these differences and thus a model using these conventional techniques could fail for its intended purpose.